/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tcr.main;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import com.tcr.entities.*;
import java.util.ArrayList;
import java.util.HashMap;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import com.tcr.main.R;

/**
 *
 * @author V.D
 * 
 * Activity permettant l'affichage de la liste des actualites
 * des enseignes favorites de l'utilisateur.
 * 
 */
public class Actualites extends Activity {

    private Client client;
    private Intent intent;
    private ArrayList<Enseigne> listeFavoris;
    private ListView listView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.actualites);

        // On recupere les infos stockés dans TheCityRater dont on a besoin
        // comme la, les informations sur le client
        client = (Client) getIntent().getExtras().get("User");
        listeFavoris = new ArrayList<Enseigne>();
        listeFavoris = (ArrayList<Enseigne>) client.getFavoris();

        //Récupération de la listview pour l'affichage d'actualites
        listView = (ListView) findViewById(R.actualites.listActu);

        //Création de la ArrayList qui nous permettra de remplire la listView
        ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();

        //On déclare la HashMap qui contiendra les informations pour un item
        HashMap<String, Object> map;
        
        // Si l'utilisateur a des favoris, on recupere les actualites de celles-ci
        // Sinon, on renvoit l'utilisateur sur l'activity Accueil
        if (listeFavoris.size() > 0) {
            for (int i = 0; i < listeFavoris.size(); i++) {
                map = new HashMap<String, Object>();
                ArrayList<Actualite> listActu = (ArrayList) listeFavoris.get(i).getActualites();
                map.put("nomE", listeFavoris.get(i).getNom());
                for (int y = 0; y < listActu.size(); y++) {
                    map.put("description", listActu.get(y).getDescription());

                    listItem.add(map);
                    break;
                }
            }
            SimpleAdapter adapter = new SimpleAdapter(this.getBaseContext(), listItem, R.layout.affichage_actualites,
                    new String[]{"nomE", "description"}, new int[]{R.afficherActu.nomE, R.afficherActu.description});


            //On attribut à notre listView l'adapter que l'on vient de créer
            listView.setAdapter(adapter);

            //Enfin on met un écouteur d'évènement sur notre listView
            // afin d'avoir le detail de l'actualite
            listView.setOnItemClickListener(new OnItemClickListener() {

                @Override
                @SuppressWarnings("unchecked")
                public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                }
            });

        } else {
            AlertDialog.Builder adb = new AlertDialog.Builder(Actualites.this);
            //on attribut un titre à notre boite de dialogue
            adb.setTitle("Aucun favoris");
            //on insère un message à notre boite de dialogue
            adb.setMessage("Vous n'avez aucun favoris");
            //on indique que l'on veut le bouton ok à notre boite de dialogue
            adb.setPositiveButton("Ok", null);
            //on affiche la boite de dialogue
            adb.show();
            
            // On retourne sur l'activity Accueil
            intent = new Intent(Actualites.this, Accueil.class);
            intent.putExtra("User", client);
            startActivity(intent);
        }
    }
}
